package com.wanhe.viewconf.views.child.interfaces;

import com.wanhe.base.model.disgn.Event;
import com.wanhe.base.model.disgn.ViewEvent;

/**
 * File Name:IViewOperations.java<br/>
 * Package Name:com.wanhe.viewconf.views.child<br/>
 * Date:2017/7/11 14:58<br/>
 * author:chendeji<br/>
 * desc: 用于声明子控件所具有的一些动作特性<br/>
 * Copyright (c) 2017/7/11, 781571323@qq.com All Rights Reserved.
 */
public interface IViewOperations {
    /**
     * Methor Name:show<br/>
     * Package Name:com.wanhe.viewconf.views.child<br/>
     * Date:2017/7/11 15:08<br/>
     * author:chendeji<br/>
     * desc: 视图控件显示出来，部分特殊的控件需要进行图片的调换等<br/>
     * Copyright (c) 2017/7/11, 781571323@qq.com All Rights Reserved.
     *
     * @param event 由某一个控件发送的事件，事件中可能会带有一些参数，方便用于操作
     * @param coor  发送事件的控件的坐标以及宽高信息
     * @return
     */
    void show(Event event, ViewEvent.Coor coor);

    /**
     * Methor Name:pause<br/>
     * Package Name:com.wanhe.viewconf.views.child<br/>
     * Date:2017/7/11 15:08<br/>
     * author:chendeji<br/>
     * desc: 针对一些特殊的控件，需要及时的回收掉<br/>
     * Copyright (c) 2017/7/11, 781571323@qq.com All Rights Reserved.
     *
     * @param event 由某一个控件发送的事件，事件中可能会带有一些参数，方便用于操作
     * @param coor  发送事件的控件的坐标以及宽高信息
     * @return
     */
    void pause(Event event, ViewEvent.Coor coor);

    /**
     * Methor Name:resume<br/>
     * Package Name:com.wanhe.viewconf.views.child.interfaces<br/>
     * Date:2017/7/27 9:41<br/>
     * author:chendeji<br/>
     * desc: <br/>
     * Copyright (c) 2017/7/27, 781571323@qq.com All Rights Reserved.
     *
     * @param event 由某一个控件发送的事件，事件中可能会带有一些参数，方便用于操作
     * @param coor  发送事件的控件的坐标以及宽高信息
     *
     */
    void resume(Event event, ViewEvent.Coor coor);

    /**
     * Methor Name:hide<br/>
     * Package Name:com.wanhe.viewconf.views.child<br/>
     * Date:2017/7/11 15:11<br/>
     * author:chendeji<br/>
     * desc: 控件隐藏掉<br/>
     * Copyright (c) 2017/7/11, 781571323@qq.com All Rights Reserved.
     *
     * @param event 由某一个控件发送的事件，事件中可能会带有一些参数，方便用于操作
     * @param coor  发送事件的控件的坐标以及宽高信息
     *
     */
    void hide(Event event, ViewEvent.Coor coor);
    
    /**
     * Methor Name:tap<br/>
     * Package Name:com.wanhe.viewconf.views.child<br/>
     * Date:2017/7/13 10:31<br/>
     * author:chendeji<br/>
     * desc: 控件执行的点击事件<br/>
     * Copyright (c) 2017/7/13, 781571323@qq.com All Rights Reserved.
     *
     * @param event 由某一个控件发送的事件，事件中可能会带有一些参数，方便用于操作
     * @param coor  发送事件的控件的坐标以及宽高信息
     * 
     */
    void tap(Event event, ViewEvent.Coor coor);


    /**
     * Methor Name:set<br/>
     * Package Name:com.wanhe.viewconf.views.child.interfaces<br/>
     * Date:2017/7/15 15:53<br/>
     * author:chendeji<br/>
     * desc: 设置控件中的数据，多用于虚拟菜品<br/>
     * Copyright (c) 2017/7/15, 781571323@qq.com All Rights Reserved.
     *
     * @param event 由某一个控件发送的事件，事件中可能会带有一些参数，方便用于操作
     * @param coor  发送事件的控件的坐标以及宽高信息
     *
     */
    void set(Event event, ViewEvent.Coor coor);
}
